package prototype;

/**
 * 原型 （Prototype）
 * 接口将对克隆方法进行声明。
 * 在绝大多数情况下， 其中只会有一个名为 clone克隆的方法。
 */
public abstract class Shape {
    int x;
    int y;
    String color;

    public Shape() {
        this.x = 0;
        this.y = 0;
        this.color = "white";
    }

    public Shape(Shape shape) {
        if (shape != null) {
            this.x = shape.x;
            this.y = shape.y;
            this.color = shape.color;
        }
    }

    abstract public Shape clone();
}